﻿using System.Threading;
using UnityEngine;
using UnityEngine.UI;

public class UpdateText : MonoBehaviour {

    public Text _text;
    public InputField _input;
    private GameObject go;
    string str;
    DataMgr _sendData;
    
    string pName;
    void Start() {
        go = Camera.main.gameObject;
        _sendData = go.GetComponent<DataMgr>();
        
    }

    void Update() {
        GetStr();
    }



    #region 发送数据
    /// <summary>
    /// 发送数据
    /// </summary>
    public void SendStr() {
        if (pName == null)
        {
            pName = this.GetComponent<Register>().playerName;//获取用户的昵称
        }
        str = _input.text;//获取用户的输入
        _input.text = null;//释放用户的输入
        SendText();//发送的方法
    }
    
    void SendText() {
        if (str != null)
        {
            _sendData.Send(pName + ":" + str);
            str = null;
        }
    }
    #endregion

    #region 接收数据
    /// <summary>
    /// 接收数据
    /// </summary>
    void GetStr()
    {
        string s = _sendData.r_message;
        if (s != "")
        {
            _text.text += "\n" + s;
            _sendData.r_message = "";
            s = "";
        }
        else
        {
            return;
        }
    }
    #endregion

    #region 程序退出的时候调用
    /// <summary>
    /// 正常退出的时候可以调用的函数
    /// </summary>
    void QuitOrder() {
       _sendData.Send("quit");
    }

  
    
    /// <summary>
    /// 程序退出时候调用 但强制退出时无法调用
    /// </summary>
    private void OnApplicationQuit()
    {
        QuitOrder();
    }
    #endregion

}
